Packet-based communication systems allow the user of a device, such as a personal computer (PC), to communicate across a computer network such as the Internet. Packet-based communication systems include voice over interne protocol (“VoIP”) communication systems. These systems are beneficial to the user as they are often of significantly lower cost than fixed line or mobile networks. This may particularly be the case for long-distance communication. Typically, to use a VoIP system, the user installs and executes client software on their device. The client software provides the VoIP connections as well as other functions such as registration and authentication. In addition to voice communication, the client may also provide further features such as video calling, instant messaging (“IM”), voicemail and file transfer.
One type of packet-based communication system uses a peer-to-peer (“P2P”) topology built on proprietary protocols. To enable access to a peer-to-peer system, the user must execute P2P client software provided by a P2P software provider on their computer, and register with the P2P system. When the user registers with the P2P system the client software is provided with a digital certificate from a server. Once the client software has been provided with the certificate, communication can subsequently be set up and routed between users of the P2P system without the further use of a server. In particular, the users can establish their own communication routes through the P2P system based on the exchange of one or more digital certificates (or user identity certificates, “UIC”), which enable access to the P2P system. The exchange of the digital certificates between users provides proof of the users' identities and that they are suitably authorised and authenticated in the P2P system. Therefore, the presentation of digital certificates provides trust in the identity of the user. It is therefore a characteristic of peer-to-peer communication that the communication is not routed using a server but directly from end-user to end-user. Further details on such a P2P system are disclosed in WO 2005/009019.
A user's device may include input means such as a microphone and/or a camera to capture data (such as audio and/or video data) from the user, and output means such as a speaker and/or a display to convey data to the user (such as audio and/or video data). The user's device typically also includes the communication client software which is executed on a processor of the device, and means for connecting to the communication system, such as a network interface. In this way the user's device typically includes all of the components necessary to communicate over the network.
However some user devices, typically corporately owned PCs, have firewall software executed on the processor of the device, or on the gateway of a Local Area Network (LAN) to block the user from downloading certain types of software onto the device. In this case the user may be prevented from installing the communication client software on his or her device and is therefore prevented from connecting to the communication system.
In some cases a user may purchase a device with the communication client preinstalled on the processor of the device and it may not be possible to download updated versions of the communication client. Since the user's device typically includes all of the components necessary to communicate over the network, if it is desired to replace one component with a new or upgraded version of the component then it is necessary to replace the whole device including all of the other components. Furthermore, the quality of each individual component in the device is often lower than the quality of corresponding components in devices that are dedicated to performing the function of the component in question. For example the display and speakers of the user's device may be of lower quality than the display and speakers of a device whose primary purpose is to display pictures and to play sounds to a user, such as a television.
Furthermore, there are currently many different methods for communicating between users, for example phone calls, emails, etc. The cost of the user's device including all of the components necessary to communicate over the P2P system may be relatively high, when compared to other devices which may be used for communicating in different ways. In some cases the increased cost of the user's device may put off some users from purchasing the device, as they may be content to use other forms of communication that are available. A reduction in new users to the P2P communication system may detract from the popularity of the P2P communication system, which in turn may reduce the desirability of the P2P communication system for existing users of the P2P system.
Updated versions of the communication client may be released from time to time. Due to the relatively high cost of the user's device and the need to replace all of the components necessary to communicate over the P2P system, the user may decide not to update his communication client every time an updated version is released. It is desirable for the users of the communication system to have the most up to date version of the communication client as this will give the users the benefit of the latest advances and should provide greater user satisfaction.
It is an aim of the present invention to address the problems with the prior art described above.